<?php
namespace app\index\controller;
use app\index\Controller;

/**
 * @title 测试demo
 * @description 接口说明
 * @group 接口分组
 * @header name:key require:1 default: desc:秘钥(区别设置)
 * @param name:public type:int require:1 default:1 other: desc:公共参数(区别设置)
 */
class Demo extends Controller
{
    /**
     * @var array 白名单方法，如果设置会覆盖黑名单方法，只允许白名单方法能正常访问
     */
    protected static $allowList = ['index','mfwtest'];

    /**
     * @title 测试demo接口
     * @description 接口说明
     * @author 开发者
     * @url /index/demo
     * @method GET
     *
     * @header name:device require:1 default: desc:设备号
     *
     * @param name:id type:int require:1 default:1 other: desc:唯一ID
     *
     * @return name:名称
     * @return mobile:手机号
     * @return list_messages:消息列表@
     * @list_messages message_id:消息ID content:消息内容
     * @return object:对象信息@!
     * @object attribute1:对象属性1 attribute2:对象属性2
     * @return array:数组值#
     * @return list_user:用户列表@
     * @list_user name:名称 mobile:手机号 list_follow:关注列表@
     * @list_follow user_id:用户id name:名称
     */
    public function index()
    {
        //接口代码
        $device = $this->request->header('device');
        return $this->success(["parameter1"=>"1","parameter2"=>"2"]);
    }
    public function mfwtest(){
        \think\Loader::import('MfwApi.Openapi');
        /*
         * 调用接口的动作
         *
         */
        $action = 'sales.order.list.get';



        /*
         * 业务请求数据,非加密数据 type: array
         *
         */
        $data = [];
        $data['page_no'] = 1;
        $data['page_size'] = 20;


        /*
         * 实例化请求
         *
         */


        /*
         * ============单独获取accesstoken的demo================
         */

        $objAccessToken = new \MSDK_Php_AccessToken();

        $accessToken = $objAccessToken->getAccessToken();

        display('', '', 0, 'accessToken:'.$accessToken);

        /*
         * =============单独获取accesstoken======================
         */

        $obj = new \MSDK_Php_Openapi();


        /*
         * 请求接口
         */
        if(false == $obj->send($action, $data)){
            $msg = '接口调用失败';
            display($msg, $obj->getError(), $obj->getErrno());
        }else{
            $msg = '接口调用成功';
            display($msg, $obj->getError(), $obj->getErrno(), $obj->getData());
        }

    }

}
/*
 * 输出函数
 *
 */
function display($msg, $error, $errno = 0, $data = null){

    echo sprintf('%s[%s] %s, errno[%s] error[%s], data[%s]' . PHP_EOL, str_repeat('=', 80) . PHP_EOL,
        date('Y-m-d H:i:s',time()), $msg, $errno, $error, var_export($data, true));
}
